Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

284
Visualizações
La página no se recarga al navegar ("/") (enrutamiento esbelto)

Estoy trabajando en un sitio web y allí para usar Svelte y la biblioteca de enrutamiento svelte. La biblioteca de enrutamiento esbelto tiene un método llamado navegar (ruta). Utilizo esta función con un clic de un botón y funciona perfectamente. Pero en mi archivo routeHandling.js no funciona como se esperaba. Puedo ver que configura la URL en el navegador pero permanece en la misma página, así que tengo que presionar F5 (recargar la página) para cargar la página.

 import {navigate} from "svelte-routing"; import * as axios from "axios"; export function checkLoggedIn() { console.log("checkLoggedIn is now getting executed"); if (window.location.pathname !== "/" && window.location.pathname !== "/registration") { axios.default.get('http://127.0.0.1:5000/user', { headers: { 'Authorization': `${localStorage.getItem("token")}` } }).catch(response => { navigate("/"); }); } }

¡Gracias por adelantado!

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

necesita usar el método de navigate dentro de un componente esbelto. Intente crear un método que llame al método checkLogggedIn() desde su componente esbelto y navigate() al regresar con éxito.

 import checkLoggedIn from "./router"; import {navigate} from "svelte-routing"; const checkUser = async () => { let res = await checkLoggedIn(); if (res.status === 200) { navigate('/') } else { navigate('/login') } }

Algo como esto debería funcionar. querrá esperar la respuesta antes de navegar, así que lo convertí en una función asíncrona

Otra cosa que querrá verificar es si está usando el indicador -s or -single cuando comienza svelte. Verifique sus scripts de NPM.

En caso de que sea nuevo en el enrutamiento esbelto: debe agregar un Router a su aplicación y crear rutas con los componentes que se representarán en ellos. como esto

 <Router> <Route path="home"> <Home /> </Route> <Route path="about"> <About /> <Route /> </Router>

donde <Home /> y <About /> son componentes que le gustaría representar en esas rutas.

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede usar location.replace("/") para recargar y obtener todos los componentes. Pero está eliminando el historial de la primera página para que no pueda volver atrás.

 const checkUser = async () => { let res = await checkLoggedIn(); if (res.status === 200) { location.replace("/"); } else { navigate('/login') } }

o podrías hacer un location.reload(); después de navegar para mantener el historial

 if (res.status === 200) { navigate('/') location.reload(); } else { navigate('/login') } }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda